using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Controladoras;
using EntidadesTO;
using System.Collections.Generic;
using System.Security.Principal;
using System.Threading;

public partial class FrmLogin : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    //protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
    //{
    //    bool resultado;
    //    UsuarioTO usuarioTO = new UsuarioTO();

    //    usuarioTO.NombreUsuario = Login1.UserName;
    //    usuarioTO.Contrasena = Login1.Password;
        
    //    resultado = UsuarioMantenedor.ObtenerInstancia().ValidarUsuario(ref usuarioTO);
    //    if (resultado)
    //    {
    //        Session["nombreUsuario"] = usuarioTO.NombreUsuario;
    //        Session["perfilUsuario"] = usuarioTO.CodPerfil;
    //        Session["codUsuario"] = usuarioTO.CodUsuario;

    //        GenericIdentity objIdentity = new GenericIdentity(usuarioTO.NombreUsuario);
    //        string[] strRoles;
    //        ArrayList arrRoles = new ArrayList();

    //        arrRoles.Add(usuarioTO.DesPerfil);
    //        strRoles = (string[])arrRoles.ToArray(typeof(string));

    //        GenericPrincipal objPrincipal = new GenericPrincipal(objIdentity, strRoles);
    //        Thread.CurrentPrincipal = objPrincipal;

    //        Response.Redirect("FrmPrincipal.aspx");

    //    }
    //}

    protected void Login1_Authenticate(Object sender, EventArgs e)
    {
        UsuarioTO usuarioTO = new UsuarioTO();

        usuarioTO.NombreUsuario = Login1.UserName;
        usuarioTO.Contrasena = Login1.Password;
        
        if (UsuarioMantenedor.ObtenerInstancia().ValidarUsuario(ref usuarioTO))
        {

            //FormsAuthentication.RedirectFromLoginPage(usuarioTO.NombreUsuario,
            //  true);

            Session["nombreUsuario"] = usuarioTO.NombreUsuario;
            Session["perfilUsuario"] = usuarioTO.CodPerfil;
            Session["codUsuario"] = usuarioTO.CodUsuario;
            Session["nombrePefil"] = usuarioTO.DesPerfil;

            //string url = FormsAuthentication.GetRedirectUrl
            //    (usuarioTO.NombreUsuario, true);

            string url = "FrmPrincipal.aspx";

            FormsAuthentication.SetAuthCookie(usuarioTO.NombreUsuario,
                true);


            HttpCookie cookie =
                Response.Cookies[FormsAuthentication.FormsCookieName];
            cookie.Expires = DateTime.Now +
                new TimeSpan(7, 0, 0, 0);

            Response.Redirect(url);
        }
    }


}
